In this mini-tutorial, we will look at various ways of defining relations for constraint dimensions. To some degree, the design intent of a part or assembly can be embedded via the definition of features in a part and/or the constraining parts in an assembly (i.e., mating or aligning). Other design intentions, however, have to be embedded via relations. Relations are one or more parametric equations which either assign a constant to a variable or define a relationship between two or more variables. The relations are stored in a separate relations table. The variables can either be defined on the fly or represent dimensional constraints in the part/assembly. In the first relation, the dimension, d1, is assigned a constant, 76.:
In this next relation, d2 is always 5 more than d3.
In this next relation, d4 is always half of d5.
It is important to note that trigonometric functions can also be used:
In all of these equations the variables and/or constants on the right hand side of the equation determine the value of the variable on the left. Another way of representing this:
Driven dimensional constraints cannot be manipulated directly using commands such as modify. They have to set indirectly through the driver dimensional constraints or the constants defined in the relations table.
New variables, defined on the fly and not representing a dimensional constraint, are called parameters. For example:
drain = 20
vol = d3 * d2* d8 - drain
Both vol and drain are parameters. The drain parameter cannot be used on the right side of an equation until it has been defined on the left.
Simple relations can be added a couple of ways. One way is to create them one at a time with the add command:
If you need to modify a relation or are going to enter numerous relations it is usually better to use edit relations:
If you just want to see the relations associated with the part or assembly, choose part>relations>show rel. Click in the window showing the relations to activate the window. Press the space bar to scroll the relations and press q to quit. This can also be useful in debugging your relations since it also shows the current values for each driven variable.
When you first enter the relations menu, you are given an option to choose features to show the variable names (rather than the value) of the dimensional constraints. If you would like to switch the display of the dimensional constraints between variable names and values, choose switch dim.
Add param allows you to create and set the value for parameter variables without entering a relation equation. The disadvantage to this approach is that the parameter is not accessible in the relations table. I would discourage you from using this method. The only way to modify such a parameter is to delete it using del param and re-entering it.
The relations table editor is set, by default, to the default editor for the computer OS. On NTs, the default editor is typically Notepad. This will be adequate for most users. If you want a more spreadsheet type environment or are working under Unix, you may want to set the editor to the internal Pro/E editor, Pro/Table. You would do this by editing (or creating) your config.pro file in the directory where you start Pro/E to include the line:
relation_file_editor protab
If you would like to have more meaningful names for dimensional constraints, you can change them with part>modify>dim cosmetics>symbol. This modify option, rather than changing the value of the variable, changes its name. This new name is what you would use in the relations. If you have already used the old name of the variable in a relation, it will automatically be changed. If the variable name you have entered is already in use, you will be prompted to enter a different name.
Relations can also be set up between parts in an assembly. These relations would be defined in assembly, rather than part, mode using an identical relations menu. The main difference between part and assembly level relations is that assembly level relations have to indicate which part a variable belongs to. Each assembly component (e.g., a part) is assigned an ID number when it is brought in, usually even numbers starting with 0. You can see what number has been assigned to a part by going to the relations menu and selecting a feature on a part. You might see a dimensional constraint variable appear which looks like:
d1:4
The d1 is the dimensional constraint assigned when the part was created in part mode. This will stay the same no matter what assembly the part is brought into. The 4 is the component ID assigned in assembly mode. This number will vary with what assembly the part is brought into or may vary due to modifications in the assembly. Always confirm this number before writing relations.
If you went back and modified the dimension name (symbol) in part mode to len, then the dimensional constraint would appear as len:4 in the assembly mode. All part level relations and parameters are inherited by the assembly and will hold true in the assembly. Parameters can also be declared in assembly mode. These will not need a component ID after them.
The assembly-level relations table will have additional comment lines, called the coding table, added to the beginning of the file. After entering one or more relations, lines are added which list both the component ID of parts referenced in the relations and the file name of the component.
An assembly-level relations table file might look something like:
/* CODING TABLE CODING SYMBOL MODEL NAME /* CODING TABLE 0 BASE.PRT /* CODING TABLE 2 PIN.PRT /* CODING TABLE 4 SLEEVE.PRT /* CODING TABLE /* general tolerance TOL = .002 /* fit sleeve outer dia to base counterbore D5:4 = D3:0 - TOL /* fit pin length to sleeve outer dia D10:2 = D5:4 + .5
Notice that: